home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_qt.idb / usr / freeware / include / Qt / qpopupmenu.h.z / qpopupmenu.h
Encoding:
C/C++ Source or Header  |  1998-10-28  |  3.3 KB  |  125 lines

  1. /****************************************************************************
  2. ** $Id: qpopupmenu.h,v 2.15 1998/07/03 00:09:52 hanord Exp $
  3. **
  4. ** Definition of QPopupMenu class
  5. **
  6. ** Created : 941128
  7. **
  8. ** Copyright (C) 1992-1998 Troll Tech AS.  All rights reserved.
  9. **
  10. ** This file is part of Qt Free Edition, version 1.40.
  11. **
  12. ** See the file LICENSE included in the distribution for the usage
  13. ** and distribution terms, or http://www.troll.no/free-license.html.
  14. **
  15. ** IMPORTANT NOTE: You may NOT copy this file or any part of it into
  16. ** your own programs or libraries.
  17. **
  18. ** Please see http://www.troll.no/pricing.html for information about 
  19. ** Qt Professional Edition, which is this same library but with a
  20. ** license which allows creation of commercial/proprietary software.
  21. **
  22. *****************************************************************************/
  23.  
  24. #ifndef QPOPUPMENU_H
  25. #define QPOPUPMENU_H
  26.  
  27. #ifndef QT_H
  28. #include "qtableview.h"
  29. #include "qmenudata.h"
  30. #endif // QT_H
  31.  
  32.  
  33. class QPopupMenu : public QTableView, public QMenuData
  34. {
  35. friend class QMenuData;
  36. friend class QMenuBar;
  37.     Q_OBJECT
  38. public:
  39.     QPopupMenu( QWidget *parent=0, const char *name=0 );
  40.    ~QPopupMenu();
  41.  
  42.     void    popup( const QPoint & pos, int indexAtPoint = 0 );// open popup
  43.     void    updateItem( int id );
  44.  
  45.     void    setCheckable( bool );
  46.     bool    isCheckable() const;
  47.  
  48.     void    setFont( const QFont & );    // reimplemented set font
  49.     void    show();                // reimplemented show
  50.     void    hide();                // reimplemented hide
  51.  
  52.     int        exec();
  53.     int     exec( const QPoint & pos, int indexAtPoint = 0 );// modal popup
  54.  
  55.     void    setActiveItem( int );
  56.  
  57. signals:
  58.     void    activated( int itemId );
  59.     void    highlighted( int itemId );
  60.     void    activatedRedirect( int itemId );// to parent menu
  61.     void    highlightedRedirect( int itemId );
  62.     void    aboutToShow();
  63.  
  64. protected:
  65.     int        cellHeight( int );
  66.     int        cellWidth( int );
  67.     void    paintCell( QPainter *, int, int );
  68.  
  69.     void    paintEvent( QPaintEvent * );
  70.     void    mousePressEvent( QMouseEvent * );
  71.     void    mouseReleaseEvent( QMouseEvent * );
  72.     void    mouseMoveEvent( QMouseEvent * );
  73.     void    keyPressEvent( QKeyEvent * );
  74.     void    timerEvent( QTimerEvent * );
  75.  
  76. private slots:
  77.     void    subActivated( int itemId );
  78.     void    subHighlighted( int itemId );
  79.     void    accelActivated( int itemId );
  80.     void    accelDestroyed();
  81.     void    modalActivation( int );
  82.  
  83.     void    subMenuTimer();
  84.  
  85. private:
  86.     void    menuContentsChanged();
  87.     void    menuStateChanged();
  88.     void    menuInsPopup( QPopupMenu * );
  89.     void    menuDelPopup( QPopupMenu * );
  90.     void    frameChanged();
  91.  
  92.     void    paintAll();
  93.     void    actSig( int );
  94.     void    hilitSig( int );
  95.     void    setFirstItemActive();
  96.     void    hideAllPopups();
  97.     void    hidePopups();
  98.     bool    tryMenuBar( QMouseEvent * );
  99.     void    byeMenuBar();
  100.  
  101.     int        itemAtPos( const QPoint & );
  102.     int        itemPos( int index );
  103.     void    updateSize();
  104.     void    updateRow( int row );
  105.     void    updateAccel( QWidget * );
  106.     void    enableAccel( bool );
  107.  
  108.     void    setTabMark( int );
  109.     int        tabMark();
  110.     void    setCheckableFlag( bool );
  111.  
  112.     QMenuItem  *selfItem;
  113.     QAccel     *autoaccel;
  114.     bool    accelDisabled;
  115.     int        popupActive;
  116.     int        tabCheck;
  117.  
  118. private:    // Disabled copy constructor and operator=
  119.     QPopupMenu( const QPopupMenu & );
  120.     QPopupMenu &operator=( const QPopupMenu & );
  121. };
  122.  
  123.  
  124. #endif // QPOPUPMENU_H
  125.